package cn.edu.sjtu.se.dslab.service;

import java.util.List;

import cn.edu.sjtu.se.dslab.action.bean.PageBean;
import cn.edu.sjtu.se.dslab.auth.User;
import cn.edu.sjtu.se.dslab.exception.DBException;
import cn.edu.sjtu.se.dslab.project.Project;

public interface IProjectService {

	public boolean addProject(Project project);
	
	public boolean addDesignPatternCategory(Project project);

	public Project updateProject(Project project);

	public Project getProjectById(long id);

	public Project getProjectByUri(String uri);
	
	public boolean deleteProject(long id);

	public PageBean getPageBean(int pageNum) throws DBException;
	
	public List<Project> getProjectList();
	
	public List<Project> getDesignPatternCategoryByUser(User user);

	public List<Project> getDesignPatternCategoryList();
	
	public List<Project> getDesignPatternCategoryByAttr(int pageNum, String name, String description, long groupId);

}
